package com.asa.cc.txt;

public class A {
	
	/**
	 * 性能测试的流程:
		1.需求分析，分析系统的性能指标。
		2.准备环境,包含工具、场景等一系列的性能测试相关需要
		3.准备脚本,基于不同的性能场景完成测试准备。
		4.执行脚本，获取数据。
		5.判定指标是否满足要求。
			1.如果达标，还会继续进行进一步的性能测试。
			测试系统的阈值、测试系统是否具备有抗风险的能力
			2.如果不达标，进入性能诊断
		6.性能诊断
		7.提供优化建议
		
		
	 */
	/**
	 * 
	 * 
	 * 常见的性能测试类型:
		●压力测试
		定义:系统在一-定饱和状态下，例如CPU、内存等饱和情况下，系统能够处理的会话能力，以及系统是否会出现
		错误
		特点:
		a.该方法的主要目的是检查系统处于压力情况下是应用的性能表现
		b.该方法通过增加访问压力，是系统资源使用保持在一定水平， 检验此时应用的表现，重点在于有误出错
		信息产生，系统对应用的响应时间等
		C.该方法-般通过模拟负载等方法，使得系统的资源使用达到较高的水平
		d.该方法主要目的是找到系统处理能力的极限
		●负载测试
		定义:在被测系统上不断增加压力，直到性能指标(如响应时间)超过预期指标或者某种资源使用已经达到饱和
		状态。可以找到系统的处理极限，为系统调优提供数据
		特点:
		a.该方法在给定的测试环境下进行，通常需要考虑被测系统的业务压力和典型场景
		b.该方法-般用来了解系统的性能容量， 或者是配合性能调优来使用
		性能容量，系统在保证一定响应时间的情况下能够允许多少并发用户的访问
		●并发测试
		定义。模拟多用户同时访问同一个应用、模块或者数据记录时是否存在死锁或者其他性能问题
		特点:
		a.该方法主要目的是发现系统中可能存在的并发访问时的问题
		b.该方法主要关注系统中可能存在的并发问题。比如。线程锁和资源争用等问题
		c.该方法可以在开发的各个阶段使用，需要相关的测试工具的配合和支持
		●可靠性测试
		定义。给系统施加-定的业务压力，让其持续运行一段时间， 测试在这种条件下能否稳定运行
		特点: 
		a.该方法的主要目的是验证系统是否支持长期稳定的运行
		b.该方法需要在压力下持续-段时间的运行
		C.测试过程中需要关注系统的运行情况
		比如，内存使用或者其他资源的使用以及响应时间有无明显变化，是否产生内存泄漏等。
		●其他测试
		还有很多性能测试的类型，比如说:基准测试、稳定性测试、验收性能测试、失效恢复测试等等。

	 * 
	 * 
	 * 2.2性能测试工具
			●Imeter:
			Apache旗下推出的一-款开源性能测试工具，完全基于Java语言实现，支持脚本自定义与二次开发，如果个人Java
			能力相对较强，可以自主编写代码，搭配]meter实现更多 性能测试。
			LoadRunner:
			Micro Focus旗下的一款付费性能测试工具，虽然支持多语言的自主脚本编写，但是在HTTP网络协议下的性能测
			试脚本默认还是以C语言的形式来实现。LR也是性能测试领域下的老牌软件。
			●Locust:
			基于Python语言实现的一个开源的编程式性能测试框架，所有的测试脚本都是基于Python编程语言来实现，提
			供有运行过程中的持续监控Web服务，也可以自定义措配持续集成技术进行使用。具有较高的自由度，且在实际
			上可以支持各类协议。
			●Gatling:
			基于Java实现的一-款开源的性能测试工具，支持Scala、 Java、 Kotlin进行测试脚本的编写。对于HTTP有着出色的
			支持能力，同时，理论上也可以支持到其他的各类协议。
			●其他:
			性能测试工具:
			ab等

	 * 
	 * 
	 * 
	 * 
	 *企业级性能测试全流程
			3.1性能需求分析
			基于系统需求以及用户的实际应用场景，对系统性能指标进行定义和提取，确保系统能够符合到实际场景，满足运行时的
			性能需求。并结合需求内容进行性能场景的设计，确保所有指标都可以被合理化的场景所覆盖。
			3.2环境准备
			基于性能指标和确定的性能场景，搭建系统环境，并提前生成测试时所需的相关数据，搭建性能测试时所需的工具环境。
			3.3脚本编写
			通过工具录制、代码编写等手段，将测试脚本完成，依据性能场景对有需要的脚本进行各类脚本增强，满足到实际的性能
			场景测试需求。
			3.4脚本执行
			运行测试脚本，获取系统的实际性能数据。
			3.5判断指标是否满足
			基于系统的实际性能数据反馈，结合性能测试需求进行评估，检验性能指标是否达标。
			3.5.1达标
			继续进行进一步的性能测试，用以测试系统的阈值、测试系统是否具备有抗风险的能力。
			3.5.2不达标
			结合实际性能数据，进入性能诊断阶段，对系统性能不达标项进行分析。
			3.6性能诊断			最值钱的部分
			针对未通过项指标，进行追踪与定位，分析系统未达标原因，结合完整的系统架构，从网络、架构中间件，业务流，数据
			库，代码块，服务端硬件资源等等等等，通过各种手段与工具，在各个维度进行问题的排查，准确定位到引起性能不达标
			的原因所在，以便于后续的优化与整改。
			3.7提供优化建议
			针对已经排查确定的性能问题，测试方给出优化的建议，对接到不同角色- 同商讨如何对现有问题进行优化，并最终确立
			解决方案，进行性能优化。

	 * 
	 * 
	 * 
	 * 
	 * 		●]meter:
			Apache旗下推出的一款开源性能测试工具，完全基于]ava语言实现，支持脚本自定义与二次开发，如果个人Java
			能力相对较强，可以自主编写代码，措配Imeter实现更多 性能测试。
			●LoadRunner
			Micro Focus旗下的-款付费性能测试工具，虽然支持多语言的自主脚本编写，但是在HTTP网络协议下的性能测
			试脚本默认还是以C语言的形式来实现。LR也是性能测试领域下的老牌软件。
			●Locust:
			基于Python语言实现的一一个开源的编程式性能测试框架，所有的测试脚本都是基于Python编程语言来实现，提
			供有运行过程中的持续监控Web服务，也可以自定义措配持续集成技术进行使用。具有较高的自由度，且在实际
			上可以支持各类协议。
			●Gatling:
			基于Java实现的一-款开源的性能测试工具，支持Scala、 Java. Kotlin进行测试脚本的编写。对于HTTP有着出色的
			支持能力，同时，理论上也可以支持到其他的各类协议。
			●其他:
			性能测试工具:
			ab等
			性能监控平台:
			skwalking. telegraf、 influxDB、 grafana、 prometheus等


	 * 
	 * 
	 * 
	 * 
	 */

}
